
set -l prog git
set -l subcmds 'status add commit init log branch fetch checkout reset show tag remote push merge config' 

complete -c $prog -f


lyt-defcmd-root $prog $subcmds
lyt-defcmd-root-1 $prog fetch $subcmds 'get all remote branch to local'



# add #############################################################################
set -l subcmds 'nginx redis rabbitmq mongo'

lyt-defcmd-F $prog add
lyt-defcmd-l $prog add all 'add all file in workdir into temple stash'


# commit ##############################################################################
lyt-defcmd-s $prog commit m 'add commit msg'


# log ############################################################################
lyt-defcmd-l $prog log oneline 'show latest log record'



# branch #############################################################################
lyt-defcmd-l $prog branch list 'list all local branch'
lyt-defcmd-l $prog branch remotes 'list all remote branch'
lyt-defcmd-sl $prog branch a all 'list all branchs both local and remote'


# checkout ############################################################################

lyt-defcmd-l $prog checkout track 'spec remote branch that new branch track'
lyt-defcmd-s $prog checkout b 'switch into new branch'

# config ###########################################################################

set -l subcmds 'http.proxy'

lyt-defcmd $prog config $subcmds


lyt-defcmd-l $prog config global "set configuration globally"
